            ;  00  01  02  03  04  05 06 07  08  09  10 11 12  13  14  15
(= rstep (list    '(123 156 212  80 108 126 73 40 150 141  68 44 40 138 208 195)
            '(130 165 201  81 115 134 81 31 147 149  72 44 40 145 209 201)
            '(132 171 197  83 117 137 86 28 148 152  78 43 41 154 209 206)
            '(132 175 195  87 117 139 91 27 152 154  87 43 43 164 209 211)
            '(132 178 197  91 117 137 95 28 157 152  97 43 48 172 209 213)
            '(130 179 201  95 115 134 96 31 161 149 105 43 53 179 210 214)
            '(127 178 206  98 112 130 95 35 166 145 111 42 57 182 210 214)
            '(124 175 212 100 109 127 92 40 170 142 113 42 59 183 210 214))
)

            ;  00  01  02  03  04  05 06 07  08  09  10 11 12  13  14  15
(= lstep (list    '(124 175 212 100 109 127 92 40 170 142 113 42 59 183 210 214)
            '(120 172 217 102 105 123 88 46 170 138 111 42 57 182 210 214)
            '(116 167 221 103 101 120 83 51 169 135 106 43 53 179 210 214)
            '(113 162 224 102  98 118 77 55 167 133  97 43 48 173 209 213)
            '(111 157 225  98  96 118 73 57 163 133  87 43 43 164 209 211)
            '(113 153 224  93  98 118 70 55 159 133  79 43 41 154 209 206)
            '(116 152 221  89 101 120 69 51 155 135  72 44 40 146 209 201)
            '(120 153 217  84 105 123 70 46 152 138  69 44 40 140 208 197)
            '(123 156 212  80 108 126 73 40 150 141  68 44 40 138 208 195))
)
(def lpose (dur stp pos lpst)
   (if (or pos)
      ( do (= lpst (.PlayPose wck dur stp (toByteArray (car pos)) (not lpst)))
          ;(prl (car pos))
          (if lpst (lpose dur stp (cdr pos) lpst))
      )
   )
   lpst
)
(def panda ()
   (dcmodeOn)
   (= lpst false)
   (= cnt 0)
   (= dir true)
   ;(setallLeds 15 dir (not dir))
   (while (not (Console.KeyAvailable))
      (prn cnt ":" dir ":" lpst)
          (do  (if dir (do   (= lpst (lpose 25 1 rstep lpst))
                     (pr "R")
                     (= lpst (lpose 25 1 lstep lpst))
                     (pr "L")
                  )
                  (do (= lpst (lpose 25 1 (reverse lstep) lpst))
                     (pr "l")
                     (= lpst (lpose 25 1 (reverse rstep) lpst))
                     (pr "r")
                  )
            )
            (if (> cnt 4)
               (do (= cnt 0)
                  (= dir (not dir))
                  ;(setallLeds 15 dir (not dir))
               )
               (= cnt (+ cnt 1))
            )
         )
   )
   (lpose 25 1 (list basic) false)
    ;(setallLeds 15 false false)

   (dcmodeOff)
)
(def setallLeds (n blue red)
   "turn on/off all servo leds"
   (for i 0 n
         (wckwriteIO i blue red)
      )
) 